var store = (function () {
    var api               = {},
        win               = window,
        doc               = win.document,
        localStorageName  = 'localStorage',
        globalStorageName = 'globalStorage',
        storage;

    api.set    = function (key, value) {};
    api.get    = function (key)        {};
    api.remove = function (key)        {};
    api.clear  = function ()           {};

    if (localStorageName in win && win[localStorageName]) {
        storage    = win[localStorageName];
        api.set    = function (key, val) { storage.setItem(key, val) };
        api.get    = function (key)      { return storage.getItem(key) };
        api.remove = function (key)      { storage.removeItem(key) };
        api.clear  = function ()         { storage.clear() };

    } else if (globalStorageName in win && win[globalStorageName]) {
        storage    = win[globalStorageName][win.location.hostname];
        api.set    = function (key, val) { storage[key] = val };
        api.get    = function (key)      { return storage[key] && storage[key].value };
        api.remove = function (key)      { delete storage[key] };
        api.clear  = function ()         { for (var key in storage ) { delete storage[key] } };

    } else if (doc.documentElement.addBehavior) {
        function getStorage() {
            if (storage) { return storage }
            storage = doc.body.appendChild(doc.createElement('div'));
            storage.style.display = 'none';
            // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
            // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
            storage.addBehavior('#default#userData');
            storage.load(localStorageName);
            return storage;
        }
        api.set = function (key, val) {
            var storage = getStorage();
            storage.setAttribute(key, val);
            storage.save(localStorageName);
        };
        api.get = function (key) {
            var storage = getStorage();
            return storage.getAttribute(key);
        };
        api.remove = function (key) {
            var storage = getStorage();
            storage.removeAttribute(key);
            storage.save(localStorageName);
        };
        api.clear = function () {
            var storage = getStorage();
            var attributes = storage.XMLDocument.documentElement.attributes;
            storage.load(localStorageName);
            for (var i=0, attr; attr = attributes[i]; i++) {
                storage.removeAttribute(attr.name);
            }
            storage.save(localStorageName);
        }
    }
    return api;
})();




// var cookieStore = (function () {
//     var api               = {},
//         win               = window,
//         doc               = win.document,
//         localStorageName  = 'localStorage',
//         globalStorageName = 'globalStorage',
//         storage;
//
//     api.set    = function (key, value, time) {};
//     api.get    = function (key)        {};
//     api.remove = function (key)        {};
//     api.clear  = function ()           {};
//
//     var exdate=new Date();
//     exdate.setDate(exdate.getDate()+time);
//     document.cookie=c_name+ "=" +escape(value)+
//         ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
//
//     if (localStorageName in win && win[localStorageName]) {
//         storage    = win[localStorageName];
//         api.set    = function (key, val) { storage.setItem(key, val) };
//         api.get    = function (key)      { return storage.getItem(key) };
//         api.remove = function (key)      { storage.removeItem(key) };
//         api.clear  = function ()         { storage.clear() };
//
//     } else if (globalStorageName in win && win[globalStorageName]) {
//         storage    = win[globalStorageName][win.location.hostname];
//         api.set    = function (key, val) { storage[key] = val };
//         api.get    = function (key)      { return storage[key] && storage[key].value };
//         api.remove = function (key)      { delete storage[key] };
//         api.clear  = function ()         { for (var key in storage ) { delete storage[key] } };
//
//     } else if (doc.documentElement.addBehavior) {
//         function getStorage() {
//             if (storage) { return storage }
//             storage = doc.body.appendChild(doc.createElement('div'));
//             storage.style.display = 'none';
//             // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
//             // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
//             storage.addBehavior('#default#userData');
//             storage.load(localStorageName);
//             return storage;
//         }
//         api.set = function (key, val) {
//             var storage = getStorage();
//             storage.setAttribute(key, val);
//             storage.save(localStorageName);
//         };
//         api.get = function (key) {
//             var storage = getStorage();
//             return storage.getAttribute(key);
//         };
//         api.remove = function (key) {
//             var storage = getStorage();
//             storage.removeAttribute(key);
//             storage.save(localStorageName);
//         };
//         api.clear = function () {
//             var storage = getStorage();
//             var attributes = storage.XMLDocument.documentElement.attributes;
//             storage.load(localStorageName);
//             for (var i=0, attr; attr = attributes[i]; i++) {
//                 storage.removeAttribute(attr.name);
//             }
//             storage.save(localStorageName);
//         }
//     }
//     return api;
// })();


// function setCookie(c_name,value,expiredays)
// {
//     var exdate=new Date();
//     exdate.setDate(exdate.getDate()+expiredays);
//     document.cookie=c_name+ "=" +escape(value)+
//         ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
// }
//
// //取回cookie
// function getCookie(c_name)
// {
//     if (document.cookie.length>0)
//     {
//         c_start=document.cookie.indexOf(c_name + "=");
//         if (c_start!=-1)
//         {
//             c_start=c_start + c_name.length+1;
//             c_end=document.cookie.indexOf(";",c_start);
//             if (c_end==-1) c_end=document.cookie.length;
//             return unescape(document.cookie.substring(c_start,c_end))
//         }
//     }
//     return ""
// }
